uniapp,对象数组问题,两个数组对比删除重复内容

 今天做uniapp多选删除时遇到的问题,删除数组中元素时,数组会动态改变,做一个简单记录分析

方法1:数组较少,采用倒序循环

list1,list2为对象数组

for(let i=list1.length-1;i>0;i--){
    for (let j=list2.length;j>0;j++){
        //需要先判断对象中有没有数据再向下执行
        if(list1[i] && list[j]){
            if(list1[i].id == list2[j]){
                list1.splice(i,1)
            }    
        }
    }
}

 注:使用到数组中的元素时,需要注意执行顺序

方法2:

拓展:数组的所有操作函数

concat()连接两个或更多的数组,并返回结果。
join()把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop()删除并返回数组的最后一个元素
push()向数组的末尾添加一个或更多元素,并返回新的长度。
reverse()颠倒数组中元素的顺序。
shift()删除并返回数组的第一个元素
slice()从某个已有的数组返回选定的元素
sort()对数组的元素进行排序
splice()删除元素,并向数组添加新元素。
toSource()返回该对象的源代码。
toString()把数组转换为字符串,并返回结果。
toLocaleString()把数组转换为本地数组,并返回结果。
unshift()向数组的开头添加一个或更多元素,并返回新的长度。
valueOf()返回数组对象的原始值

更详细内容:https://www.w3school.com.cn/jsref/jsref_obj_array.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值